/*
 * cad_tipo.java
 *
 *  LICENÇA CC-GNU LGPL
 * 
 * EXCLUSÃO DE GARANTIA 
1.COMO A BIBLIOTECA É LICENCIADA ELA TERÁ TOTAL GARANTIA DE SUPORTE TÉCNICO,
  MAS CASO O CÓDIGO-FONTE SOFRA ALTERAÇÕES, NÃO HAVERÁ NENHUMA GARANTIA PARA A 
  BIBLIOTECA, NO LIMITE PERMITIDO PELA LEI APLICÁVEL. EXCETO QUANDO DE OUTRA FORMA
  ESTABELECIDO POR ESCRITO, OS TITULARES DOS DIREITOS AUTORAIS E/OU OUTRAS PARTES 
  FORNECEM A BIBLIOTECA "NO ESTADO EM QUE SE ENCONTRA", SEM NENHUMA GARANTIA DE 
  QUALQUER TIPO, TANTO EXPRESSA COMO IMPLÍCITA, INCLUINDO, DENTRE OUTRAS, AS GARANTIAS
  IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO PARA UMA FINALIDADE ESPECÍFICA. 
  O RISCO INTEGRAL QUANTO À QUALIDADE E DESEMPENHO DA BIBLIOTECA É ASSUMIDO POR VOCÊ.
  CASO A BIBLIOTECA CONTENHA DEFEITOS, VOCÊ ARCARÁ COM OS CUSTOS DE TODOS OS SERVIÇOS,
  REPAROS OU CORREÇÕES NECESSÁRIAS. 

 2.EM NENHUMA CIRCUNSTÂNCIA, A MENOS QUE EXIGIDO PELA LEI APLICÁVEL OU ACORDADO POR 
   ESCRITO, QUALQUER TITULAR DE DIREITOS AUTORAIS OU QUALQUER OUTRA PARTE QUE POSSA 
   MODIFICAR E/OU REDISTRIBUIR A BIBLIOTECA, CONFORME PERMITIDO ACIMA, SERÁ RESPONSÁVEL 
   PARA COM VOCÊ POR DANOS, INCLUINDO ENTRE OUTROS QUAISQUER DANOS GERAIS, ESPECIAIS, 
   FORTUITOS OU EMERGENTES, ADVINDOS DO USO OU IMPOSSIBILIDADE DE USO DA BIBLIOTECA 
   (INCLUINDO, ENTRE OUTROS, PERDA DE DADOS, DADOS SENDO GERADOS DE FORMA IMPRECISA, 
   PERDAS SOFRIDAS POR VOCÊ OU TERCEIROS OU A IMPOSSIBILIDADE DA BIBLIOTECA DE OPERAR 
   COM QUALQUER OUTRO SOFTWARE), MESMO QUE ESSE TITULAR, OU OUTRA PARTE, TENHA SIDO 
   AVISADO SOBRE A POSSIBILIDADE DESSES DANOS.
 * 
 * Created on 4 de Novembro de 2008, 19:20
 */

package cadastros;

import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import utilitarios.*;
import java.sql.*;
import javax.swing.*;
import java.awt.EventQueue.*;
//import javax.swing.table.DefaultTableModel;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import java.awt.event.*;  
import java.awt.event.KeyEvent;
import java.net.InetAddress;


/**
 *
 * @author  Shinigami
 */
public class cad_user extends javax.swing.JFrame {

    conexao con_login; 
    int navega = 0; //variavel para saber qual botão foi clicado
    
    int modo_banco = 0; //se modo_banco = 1 --> modo salvar
                        //se modo_banco = 2 --> modo alterar
    
    String ordenacao = "codigo";
    int tecla;
    
    
    /** Creates new form cad_tipo */
    public cad_user() {
        super();  
       
       
        
        initComponents();
        con_login = new conexao();
        con_login.conecta();
        
        con_login.executasql("select * from login");
        travar_campos();
        
       try {
            con_login.resultset.first();
        } 
        catch (SQLException ex) {
            
        }
        
        mostrar_dados();
             
       }
    
public static void main(String args[] ) 
{
        
     java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new cad_user().setVisible(true);
                                        
            }
             
     });
}
     @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        tf_codigo = new javax.swing.JTextField();
        tf_nome = tf_nome = new JTextField();
        tf_nome.setDocument( new PlainDocument()  
            {  
                @Override  
                public void insertString( int offs, String str, AttributeSet a )  
                throws BadLocationException  
                {  
                    super.insertString( offs, str.toUpperCase(), a );  
                }  
            } );  ;
            bt_primeiro = new javax.swing.JButton();
            bt_anterior = new javax.swing.JButton();
            bt_proximo = new javax.swing.JButton();
            bt_ultimo = new javax.swing.JButton();
            bt_inserir = new javax.swing.JButton();
            bt_gravar = new javax.swing.JButton();
            bt_alterar = new javax.swing.JButton();
            bt_excluir = new javax.swing.JButton();
            bt_cancel = new javax.swing.JButton();
            jLabel3 = new javax.swing.JLabel();
            tf_senha = tf_senha = new JTextField();
            tf_senha.setDocument( new PlainDocument()  
                {  
                    @Override  
                    public void insertString( int offs, String str, AttributeSet a )  
                    throws BadLocationException  
                    {  
                        super.insertString( offs, str.toUpperCase(), a );  
                    }  
                } );  ;
                cb_acesso = new javax.swing.JComboBox();
                jLabel4 = new javax.swing.JLabel();
                jMenuBar1 = new javax.swing.JMenuBar();
                jMenu1 = new javax.swing.JMenu();
                jm_novo = new javax.swing.JMenuItem();
                jm_salvar = new javax.swing.JMenuItem();
                jm_alt = new javax.swing.JMenuItem();
                jm_del = new javax.swing.JMenuItem();
                jSeparator1 = new javax.swing.JSeparator();
                jMenuItem1 = new javax.swing.JMenuItem();

                setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
                setTitle("Cadastro de Usuário");
                setResizable(false);

                jLabel1.setText("Código:");

                jLabel2.setText("Nome:");

                bt_primeiro.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/primeiro_registro.gif"))); // NOI18N
                bt_primeiro.setMnemonic('w');
                bt_primeiro.setToolTipText("Primeiro registro (ALT + W)");
                bt_primeiro.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_primeiroActionPerformed(evt);
                    }
                });

                bt_anterior.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/registro_anterior.gif"))); // NOI18N
                bt_anterior.setMnemonic('a');
                bt_anterior.setToolTipText("Registro anterior (ALT + A)");
                bt_anterior.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_anteriorActionPerformed(evt);
                    }
                });

                bt_proximo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/proximo_registro.gif"))); // NOI18N
                bt_proximo.setMnemonic('d');
                bt_proximo.setToolTipText("Próximo registro (ALT + D)");
                bt_proximo.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_proximoActionPerformed(evt);
                    }
                });

                bt_ultimo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/ultimo_registro.gif"))); // NOI18N
                bt_ultimo.setMnemonic('s');
                bt_ultimo.setToolTipText("Último registro (ALT + S)");
                bt_ultimo.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_ultimoActionPerformed(evt);
                    }
                });

                bt_inserir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/alterar.gif"))); // NOI18N
                bt_inserir.setToolTipText("Novo registro (F2)");
                bt_inserir.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_inserirActionPerformed(evt);
                    }
                });

                bt_gravar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/salvar.gif"))); // NOI18N
                bt_gravar.setToolTipText("Gravar registro (F3)");
                bt_gravar.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_gravarActionPerformed(evt);
                    }
                });

                bt_alterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/alterar2.gif"))); // NOI18N
                bt_alterar.setToolTipText("Alterar registro (F4)");
                bt_alterar.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_alterarActionPerformed(evt);
                    }
                });

                bt_excluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/lixeira1.gif"))); // NOI18N
                bt_excluir.setToolTipText("Excluir registro (F5)");
                bt_excluir.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_excluirActionPerformed(evt);
                    }
                });

                bt_cancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/window-close.png"))); // NOI18N
                bt_cancel.setMnemonic('c');
                bt_cancel.setToolTipText("Cancelar (ALT + C)");
                bt_cancel.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_cancelActionPerformed(evt);
                    }
                });

                jLabel3.setText("Senha:");

                cb_acesso.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "", "ADMINISTRADOR", "USUÁRIO" }));

                jLabel4.setText("Nível de Acesso:");

                jMenu1.setText("Arquivo");

                jm_novo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F2, 0));
                jm_novo.setText("Novo");
                jm_novo.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jm_novoActionPerformed(evt);
                    }
                });
                jMenu1.add(jm_novo);

                jm_salvar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F3, 0));
                jm_salvar.setText("Salvar");
                jm_salvar.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jm_salvarActionPerformed(evt);
                    }
                });
                jMenu1.add(jm_salvar);

                jm_alt.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, 0));
                jm_alt.setText("Alterar");
                jm_alt.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jm_altActionPerformed(evt);
                    }
                });
                jMenu1.add(jm_alt);

                jm_del.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
                jm_del.setText("Excluir");
                jm_del.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jm_delActionPerformed(evt);
                    }
                });
                jMenu1.add(jm_del);
                jMenu1.add(jSeparator1);

                jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F12, 0));
                jMenuItem1.setText("Sair");
                jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jMenuItem1ActionPerformed(evt);
                    }
                });
                jMenu1.add(jMenuItem1);

                jMenuBar1.add(jMenu1);

                setJMenuBar(jMenuBar1);

                javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel1)
                                    .addComponent(jLabel2)
                                    .addComponent(jLabel3)
                                    .addComponent(jLabel4))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(cb_acesso, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(tf_senha, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(30, 30, 30)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(bt_inserir, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_gravar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_alterar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(10, 10, 10)
                                        .addComponent(bt_excluir, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_cancel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(layout.createSequentialGroup()
                                        .addGap(31, 31, 31)
                                        .addComponent(bt_primeiro, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_anterior, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_proximo, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(bt_ultimo, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                        .addContainerGap(55, Short.MAX_VALUE))
                );
                layout.setVerticalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel1)
                            .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(12, 12, 12)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel2)
                            .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(tf_senha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(cb_acesso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(bt_primeiro, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1))
                            .addComponent(bt_anterior, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(bt_proximo, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(bt_ultimo, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(bt_cancel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(bt_inserir, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(bt_excluir, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(bt_gravar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(bt_alterar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(1, 1, 1)))
                        .addGap(60, 60, 60))
                );

                java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
                setBounds((screenSize.width-361)/2, (screenSize.height-385)/2, 361, 385);
            }// </editor-fold>//GEN-END:initComponents

private void bt_primeiroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_primeiroActionPerformed

    try
        {
           navega = 1;
            con_login.resultset.first();
            mostrar_dados();
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
        }        

    
    
}//GEN-LAST:event_bt_primeiroActionPerformed

private void bt_proximoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_proximoActionPerformed

    try
        {
        if (con_login.resultset.isLast())
            {
                navega = 2;
            }
           con_login.resultset.next();
           mostrar_dados(); 
           
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
        }        

    
}//GEN-LAST:event_bt_proximoActionPerformed

private void bt_anteriorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_anteriorActionPerformed

    try
        {
            if (con_login.resultset.isFirst())
            {
                navega = 1;
            } 
            con_login.resultset.previous();
            mostrar_dados(); 
            
            
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
        }        

    
    
}//GEN-LAST:event_bt_anteriorActionPerformed

private void bt_ultimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_ultimoActionPerformed

    try
        {
            navega = 2;
            con_login.resultset.last();
            mostrar_dados(); 
           
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
        }        

    
    
}//GEN-LAST:event_bt_ultimoActionPerformed

private void bt_gravarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_gravarActionPerformed

    if (modo_banco == 1)
{
    gravar();
}
else if (modo_banco == 2)
{   alterar();

}

    
}//GEN-LAST:event_bt_gravarActionPerformed

private void bt_inserirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_inserirActionPerformed

    destrava();
    fecha_navegacao();
   
    //tf_pesquisa.setText("");
    tf_codigo.setText("");
    tf_nome.setText("");
    tf_senha.setText("");
    cb_acesso.setSelectedItem("");
    tf_nome.requestFocus();
    bt_alterar.setEnabled(false);
    bt_excluir.setEnabled(false);
    jm_del.setEnabled(false);
    jm_alt.setEnabled(false);
    
   
    
    modo_banco = 1;

    
}//GEN-LAST:event_bt_inserirActionPerformed

private void bt_alterarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_alterarActionPerformed

   //tf_pesquisa.setText("");
   bt_excluir.setEnabled(false); 
   bt_inserir.setEnabled(false);
   jm_del.setEnabled(false);
   jm_novo.setEnabled(false);
    
   destrava();
   fecha_navegacao();
   tf_nome.requestFocus();
       
    modo_banco = 2;

    
}//GEN-LAST:event_bt_alterarActionPerformed

private void bt_excluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_excluirActionPerformed
    
        try
    {
       
        
       if (tf_nome.getText().equals(""))
       {
        JOptionPane.showMessageDialog(null,"Nenhum registro foi selecionado para exclusão!");
        return;
             
       }
        
       
       
       
        
        
        String sql = "select * from login Where codigo ="+tf_codigo.getText();
        con_login.executasql(sql);
        con_login.resultset.first();
        String nome = "Deletar Usuário: "+con_login.resultset.getString("nome")+"?";
        int opcao_escolhida = JOptionPane.showConfirmDialog(null, nome,"Exclusão ",JOptionPane.YES_NO_OPTION);
        
        if (opcao_escolhida == JOptionPane.NO_OPTION)
        {
            con_login.executasql("select * from login");
            con_login.resultset.first();
            mostrar_dados();
            //visualizacao(ordenacao);
            navega = 0;
            
            return ;//caso seja escolhida a opção não excluir, ele
                   // retorna para a posição normal sem executar mais nenhum código
        }
        
        else if (opcao_escolhida == JOptionPane.YES_OPTION)
        {
            sql = "DELETE from login Where codigo ="+tf_codigo.getText();
            int conseguiu_excluir = con_login.statement.executeUpdate(sql);
            if (conseguiu_excluir == 1)
            {
                JOptionPane.showMessageDialog(null,"Dados excluídos com sucesso!");
                //atualizando o resultset
                con_login.executasql("select * from login");
                //atualiza_cbpesq();
                con_login.resultset.first();//posiciona no 1º registro
                mostrar_dados();//chama a função que mostra os dados 
                //visualizacao(ordenacao);
                
            }
          
       
        
     }
     }   
    catch (SQLException erro)
    {
        JOptionPane.showMessageDialog(null,"Não foi possível excluir o registro!"+erro);
    }
    //tf_pesquisa.setText("");
    travar_campos();

    
}//GEN-LAST:event_bt_excluirActionPerformed

private void bt_cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_cancelActionPerformed

       try
   {        
     
    //tf_pesquisa.setText("");
    bt_inserir.setEnabled(true);
    bt_alterar.setEnabled(true);
    bt_excluir.setEnabled(true);
    jm_del.setEnabled(true);
    jm_novo.setEnabled(true);
    jm_alt.setEnabled(true);
    
    travar_campos();
    abre_navegacao();
    con_login.resultset.first();
    mostrar_dados();
   }
   catch(Exception erro)
   {
       JOptionPane.showMessageDialog(null, "Erro ao cancelar operação"+erro);
   }        

    
}//GEN-LAST:event_bt_cancelActionPerformed

private void jm_salvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jm_salvarActionPerformed

   bt_gravarActionPerformed(evt);
   
}//GEN-LAST:event_jm_salvarActionPerformed

private void jm_altActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jm_altActionPerformed

  bt_alterarActionPerformed(evt);
    
}//GEN-LAST:event_jm_altActionPerformed

private void jm_delActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jm_delActionPerformed

    bt_excluirActionPerformed(evt);
    
    
}//GEN-LAST:event_jm_delActionPerformed

private void jm_novoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jm_novoActionPerformed

   bt_inserirActionPerformed(evt);
    
}//GEN-LAST:event_jm_novoActionPerformed

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed

    setVisible(false);
    
}//GEN-LAST:event_jMenuItem1ActionPerformed
 
    
          
           
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bt_alterar;
    private javax.swing.JButton bt_anterior;
    private javax.swing.JButton bt_cancel;
    private javax.swing.JButton bt_excluir;
    private javax.swing.JButton bt_gravar;
    private javax.swing.JButton bt_inserir;
    private javax.swing.JButton bt_primeiro;
    private javax.swing.JButton bt_proximo;
    private javax.swing.JButton bt_ultimo;
    private javax.swing.JComboBox cb_acesso;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JMenuItem jm_alt;
    private javax.swing.JMenuItem jm_del;
    private javax.swing.JMenuItem jm_novo;
    private javax.swing.JMenuItem jm_salvar;
    private javax.swing.JTextField tf_codigo;
    private javax.swing.JTextField tf_nome;
    private javax.swing.JTextField tf_senha;
    // End of variables declaration//GEN-END:variables

    public void mostrar_dados()
    {
         try
        {
            
                        
            tf_codigo.setText(con_login.resultset.getString("codigo"));
            tf_nome.setText(con_login.resultset.getString("nome"));
            tf_senha.setText(con_login.resultset.getString("senha"));
            cb_acesso.setSelectedItem(con_login.resultset.getString("acesso"));
           
            
           
        }
        catch(SQLException erro)
        {
            if (navega == 1)
            
                JOptionPane.showMessageDialog(null,"Este é o primeiro registro!");
               
            else if (navega == 2)
           
                JOptionPane.showMessageDialog(null,"Este é o último registro!");
                
             else
                JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
                
            navega = 0;
            
        }        
    }
    
    public void gravar()
   {
       try
{
               
     
           
      if (tf_nome.getText().equals(""))
 {    
     JOptionPane.showMessageDialog(null,"Digite o nome do usuário!");
    travar_campos();
     destrava();
     tf_nome.requestFocus();
     return;     
 }
       if (tf_senha.getText().equals(""))
 {    
     JOptionPane.showMessageDialog(null,"Digite a senha do usuário!");
    travar_campos();
     destrava();
     tf_senha.requestFocus();
     return;     
 }
  if (cb_acesso.getSelectedItem().equals(""))
 {    
     JOptionPane.showMessageDialog(null,"Escolha o nível de acesso do usuário!");
    travar_campos();
     destrava();
     cb_acesso.requestFocus();
     return;     
 }
   
     
     
     
   String verifica = "n";
   con_login.resultset.first();
   while(verifica.equals("n")) 
   {
   if (con_login.resultset.getString("nome").equals(tf_nome.getText()))
   {
           verifica = "s";
          
           JOptionPane.showMessageDialog(null,"Já existe um Usuário: "+con_login.resultset.getString("nome")+"");
           
          // con_login.resultset.first();//posiciona no 1º registro
           //mostrar_dados();//chama a função que mostra os dados
           tf_nome.setText("");
           tf_senha.setText("");
           cb_acesso.setSelectedItem("");
           tf_nome.requestFocus();
           return;
           
           
           
    }
   else
   {
     
       if (con_login.resultset.isLast())
       {
           break;
       }
       else
       con_login.resultset.next();
   }
   } 
   
   
 //código para gravar os dados no banco (dentro do try)  
             String sqlinsert = "insert into login (nome,senha,acesso) values ('"+
             tf_nome.getText()+"','"+
             tf_senha.getText()+"','"+
             cb_acesso.getSelectedItem()+"')";
            
             
             con_login.resultset.last();
                     
             con_login.statement.executeUpdate(sqlinsert);
             JOptionPane.showMessageDialog(null,"Dados salvos com sucesso!");

             //atualiza o resultset
             con_login.resultset = con_login.statement.executeQuery("select * from login");
             //con_login.executasql("select * from login");
             //atualiza_cbpesq();
             con_login.resultset.first();//posicona no primeiro registro
             mostrar_dados();
             //visualizacao(ordenacao);
 }

  catch (SQLException erro)
 {
     JOptionPane.showMessageDialog(null,"Erro ao gravar dados!"+erro);
 }
  //pesq = 0;  
  modo_banco = 0;
  //tf_pesquisa.setText("");
  bt_inserir.setEnabled(true);
  bt_alterar.setEnabled(true);
  bt_excluir.setEnabled(true);
  jm_del.setEnabled(true);
  jm_novo.setEnabled(true);
  jm_alt.setEnabled(true);
  travar_campos();
  abre_navegacao();
 }

public void alterar()
{
     try
    {
     
      
         
     if (tf_nome.getText().equals(""))
 {    
     JOptionPane.showMessageDialog(null,"Digite o nome do Usuário!");
     //travar_campos();
     destrava();
     tf_nome.requestFocus();
     return;
         
 }
 
     
     
    
        
  /* String verifica = "n";
   con_login.resultset.first();
   while(verifica.equals("n")) 
   {
   if (con_login.resultset.getString("nome").equals(tf_nome.getText()))
   {
           verifica = "s";
           String atencao = "Já existe um registro da ferramenta: "+con_login.resultset.getString("nome")+". Deseja salvar assim mesmo?";
           int opcao = JOptionPane.showConfirmDialog(null,atencao,"Atenção ",JOptionPane.YES_NO_OPTION);
           if (opcao == JOptionPane.NO_OPTION)
           {
           tf_nome.requestFocus();
           return; //sai sem compilar o restante do codigo
          
           }
           }
   else
   {
     
       if (con_login.resultset.isLast())
       {
           break;
       }
       else
               con_login.resultset.next();
       
   }
   }  */
        
        String sql = "UPDATE login SET nome ='"+tf_nome.getText()+"',senha= '"+ tf_senha.getText()+"',acesso= '"+cb_acesso.getSelectedItem()+"'Where codigo ="+tf_codigo.getText();
        con_login.statement.executeUpdate(sql);
        JOptionPane.showMessageDialog(null,"Alteração realizada com sucesso!");
        
        //atualizando o resultset
        con_login.executasql("select * from login");
        //atualiza_cbpesq();
        con_login.resultset.first();
        mostrar_dados();
        //visualizacao(ordenacao);
    } 
    
    
    catch (SQLException erro)
    {
        JOptionPane.showConfirmDialog(null,"Não foi possível alterar os dados! "+erro);
    }
       
    //pesq = 0;
   
    modo_banco = 0;
    //tf_pesquisa.setText("");
    bt_inserir.setEnabled(true);
    bt_alterar.setEnabled(true);
    bt_excluir.setEnabled(true);
    jm_del.setEnabled(true);
    jm_novo.setEnabled(true);
    jm_alt.setEnabled(true);
    travar_campos();
    abre_navegacao();
}
public void travar_campos()
{
    
    tf_codigo.setEditable(false);
    tf_nome.setEditable(false);
    tf_senha.setEditable(false);
    cb_acesso.setEnabled(false);
    bt_gravar.setEnabled(false);
    jm_salvar.setEnabled(false);
    
}

public void destrava()
{
    tf_nome.setEditable(true);
     cb_acesso.setEnabled(true);
    bt_gravar.setEnabled(true);
    tf_senha.setEditable(true);
    jm_salvar.setEnabled(true);
}
    
public void fecha_navegacao()
{
     bt_primeiro.setEnabled(false);
    bt_anterior.setEnabled(false);
    bt_proximo.setEnabled(false);
    bt_ultimo.setEnabled(false);
}
public void abre_navegacao()
{
    bt_primeiro.setEnabled(true);
    bt_anterior.setEnabled(true);
    bt_proximo.setEnabled(true);
    bt_ultimo.setEnabled(true);
}

          
}
   
               
          
